﻿#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <assert.h>
#include <string.h>
#include <ctype.h>

//2024.01.13比特假期作业代码题——day12

void test_12_1() {
	char c = 'A';
	if ('0' <= c <= '9') printf("YES"); 
	else printf("NO");
}
void test_12_2() {
	int n = 1001;
	int ans = 0;
	for (int i = 1; i <= n; ++i) {
		ans ^= i % 3;
	}
	printf("%d", ans);
}
//数字颠倒——字符串——简单
//描述
//输入一个整数，将这个整数以字符串的形式逆序输出
//程序不考虑负数的情况，若数字含有0，则逆序形式也含有0，如输入为100，则输出为001
//数据范围：
//0≤n≤2^30−1
//输入描述：
//输入一个int整数
//输出描述：
//将这个整数以字符串的形式逆序输出
//示例1
//输入：
//1516000
//输出：
//0006151
//示例2
//输入：
//0
//输出：
//0
void test_12_3() {
	int n = 0;
	while (scanf("%d",&n) == 1) {
		char ch[11] = { 0 };
		int i = 0;
		if (n == 0)
			ch[i] = '0';
		else {
			for (n; n > 0; n /= 10) {
				ch[i++] = n % 10 + '0';
			}
		}
		printf("%s\n", ch);
	}
}
//单词倒排——排序、字符串——简单
//描述
//对字符串中的所有单词进行倒排。
//说明：
//1、构成单词的字符只有26个大写或小写英文字母；
//2、非构成单词的字符均视为单词间隔符；
//3、要求倒排后的单词间隔符以一个空格表示；如果原字符串中相邻单词间有多个间隔符时，倒排转换后也只允许出现一个空格间隔符；
//4、每个单词最长20个字母；
//数据范围：字符串长度满足
//1≤n≤10000
//输入描述：
//输入一行，表示用来倒排的句子
//输出描述：
//输出句子的倒排结果
//示例1
//输入：
//I am a student
//输出：
//student a am I
//示例2
//输入：$bo*y gi!r#l
//输出：l r gi y bo
void test_12_4() {
	char ch[10001] = { 0 };
	while (gets(ch)) { 
		int len = strlen(ch);
		//修改非大小写字母的字符
		for (int i = 0; i < len; i++) {
			if (!isalpha(ch[i])) {
				ch[i] = ' ';
			}
		}
		//分割单词
		char tmp[10000][21] = { 0 };
		int l = 0, r = 0;
		int i = 0, j = 0;
		while (r <= len) {
			if (ch[r] == ' ' || ch[r] == '\0') {
				j = 0;
				for (l; l != r; l++) {
					if (ch[l] != ' ') {
						tmp[i][j] = ch[l];
						j++;
					}
				}
				tmp[i][j] = '\0';
				i++;
			}
			r++;
		}
		//单词倒排
		i--;//单词个数
		j = 0;//对应字母
		for (int z = 0; z < len; z++) {
			if (!tmp[i][j]) {
				ch[z] = ' ';
				i--;
				j = 0;
			}
			else
			{
				ch[z] = tmp[i][j];
				j++;
			}
		}
		printf("%s\n", ch);
	}
}
void test_12_5() {
	int len = strlen("wyZksmG XY ReXA Pedt mabjlFdGmJUseHz GzciYPmv OFKis SQzQAeQexsgy ZVrsqqSbHdQF AKPJECiP vOgIXvbuJTDnpPcCD GWlPWTGQSWyaZtxHd ydpT pHSeYKetXH RdBcHmggvESwIEWlBtYq H VdkLHvSGupDEFOfH BcWxbNOQOOYYhBNEz MAFjrzTFKWZOCGGZazCn Ef owSLRoGJXMWAR pLdQQWx ZSRXXCUOSetMNfSOnRk jDhskr WHBmEifhgEEBoT CJNtdFFM n UAbfJKuoVfoqAvbEcv MnDWh");
		printf("%d\n", len);
}
